#include "VentanaEditarEsc.h"
#include "VentanaEscenarios.h"
#include "Rectangulo.h"
#include "Circulo.h"

VentanaEditarEsc::VentanaEditarEsc(void)
{
}

VentanaEditarEsc::~VentanaEditarEsc(void)
{	delete this->colorFondoVentana;
	delete this->scroll;

	Figura* figura;
	int i = 1;
	std::list<Figura*>::iterator iter;
	iter = this->iteratorListaFiguras();
	while(i <= this->sizeListaFiguras()){
		figura = *iter;
		delete figura;
		iter++;
		i++;
	};

	iter = this->iteratorListaFigDinamicas();
	while(i <= this->sizeListaFigDinamicas()){
			figura = *iter;
			delete figura;
			iter++;
			i++;
		};

}

VentanaEditarEsc::VentanaEditarEsc(std::string nombreEsc,std::string imag){
	std::string aux("     Edita");
	this->nombre = aux.append(nombreEsc);
	this->nombreEsc = nombreEsc;
	this->alto = 700;
	this->ancho = 900;
	this->nombre = nombre;
	this->colorFondoVentana = new Color(220,220,220);

	Posicion* posEsc = new Posicion(10,10);
	Rectangulo* escenario = new Rectangulo("escenario",800,600,posEsc);
	escenario->setIdTextura(imag);
	
	this->addFigura(escenario);

	//CREO EL SCROLL
	this->scroll = new Scroll();

	//label imagen de fondo:
	Posicion* posLabel1 = new Posicion(10,645);
	Texto* label1 = new Texto("lb1"," Imagen de fondo: ",20,posLabel1);
	this->addFigura(label1);

	Posicion* posBtActualizar = new Posicion(400,640);
	Rectangulo* btActualizar = new Rectangulo("btActualizar",100,35,posBtActualizar);
	this->addFigura(btActualizar);

		//label bt actualizar
	Posicion* posLabelBtActualizar = new Posicion(400,645);
	Texto* labelBtActualizar = new Texto("lbActualizar"," Actualizar",20,posLabelBtActualizar);
	this->addFigura(labelBtActualizar);

	Posicion* posBtGuardar = new Posicion(660,640);
	Rectangulo* btGuardar= new Rectangulo("btGuardar",100,35,posBtGuardar);
	this->addFigura(btGuardar);

		//label bt guardar
	Posicion* posLabelBtGuardar = new Posicion(660,645);
	Texto* labelBtGuardar = new Texto("lbGuardar","  Guardar",20,posLabelBtGuardar);
	this->addFigura(labelBtGuardar);

	Posicion* posBtCancelar = new Posicion(790,640);
	Rectangulo* btCancelar = new Rectangulo("btCancelar",100,35,posBtCancelar);
	this->addFigura(btCancelar);

	//label bt cancelar
	Posicion* posLabelBtCancelar = new Posicion(790,645);
	Texto* labelBtCancelar = new Texto("lbCancelar"," Cancelar",20,posLabelBtCancelar);
	this->addFigura(labelBtCancelar);

}
int VentanaEditarEsc::graficar(){
	this->iniciarSdl();
	
	this->pintarPantalla();

	Color* colorBtnApretado = new Color(72,61,139);
	Color* colorBtnNoApretado = new Color(220,220,220);
	
	this->scroll->dibujar(this->screen);

	std::list<Figura*>::iterator iter;
	iter = this->iteratorListaFiguras();
	int i = 1;
	Figura *figura;
	while(i<=this->sizeListaFiguras()){
		figura = *iter;
		figura->dibujar(this->screen);
		iter++;
		i++;
	}


	return 0;
}
//la texturaFondo es el path
void VentanaEditarEsc::setFondoEscenario(std::string fondo){
	std::list<Figura*>::iterator iter;
	iter = this->iteratorListaFiguras();
	int i = 1;
	Figura *figura;
	bool encontro = false;
	while(i<=this->sizeListaFiguras()&& !encontro){
		figura = *iter;
		if(figura->getId().compare("escenario")){
			figura->setIdTextura(fondo);
			encontro = true;
		}
		iter++;
		i++;
	}

}

Scroll* VentanaEditarEsc::getScroll(){
	return this->scroll;
}
